// pages/park/parkList.js
Page({
  data: {
    activeFilter: 'all',
    sortType: 'default',
    searchText: '',
    parkList: [],
    page: 1,
    pageSize: 10,
    hasMore: true,
    region: [],
    regionText: ''
  },

  onLoad() {
    this.loadParkList();
  },

  // 加载园区列表
  loadParkList() {
    // 模拟网络请求
    setTimeout(() => {
      const mockData = this.generateMockData(this.data.page, this.data.pageSize);
      
      // 根据筛选条件过滤数据
      let filteredData = mockData;
      
      // 地域筛选
      if (this.data.region.length > 0) {
        const [province, city, district] = this.data.region;
        filteredData = filteredData.filter(item => {
          return (!province || item.province === province) &&
                 (!city || item.city === city) &&
                 (!district || item.district === district);
        });
      }
      
      // 其他筛选条件
      if (this.data.activeFilter === 'highRate') {
        filteredData = filteredData.filter(item => item.rate >= 4.5);
      } else if (this.data.activeFilter === 'lowPrice') {
        filteredData = filteredData.sort((a, b) => a.price - b.price);
      } else if (this.data.activeFilter === 'recommend') {
        filteredData = filteredData.filter(item => item.tags.includes('推荐'));
      }
      
      // 排序
      if (this.data.sortType === 'price') {
        filteredData.sort((a, b) => a.price - b.price);
      } else if (this.data.sortType === 'rate') {
        filteredData.sort((a, b) => b.rate - a.rate);
      }
      
      this.setData({
        parkList: this.data.page === 1 ? filteredData : [...this.data.parkList, ...filteredData],
        hasMore: this.data.page < 3 // 模拟只有3页数据
      });
    }, 500);
  },

  // 生成模拟数据
  generateMockData(page, pageSize) {
    const mockParks = [];
    const parkNames = [
      '创新科技产业园', 
      '未来科技城', 
      '智慧产业园区', 
      '国际商务中心', 
      '生态科技园',
      '金融科技园区',
      '文化创意产业园',
      '高新技术开发区'
    ];
    
    const provinces = ['北京市', '上海市', '广东省', '浙江省', '江苏省', '四川省', '湖北省', '陕西省'];
    const cities = {
      '北京市': ['北京市'],
      '上海市': ['上海市'],
      '广东省': ['广州市', '深圳市', '珠海市'],
      '浙江省': ['杭州市', '宁波市', '温州市'],
      '江苏省': ['南京市', '苏州市', '无锡市'],
      '四川省': ['成都市', '绵阳市', '乐山市'],
      '湖北省': ['武汉市', '宜昌市', '襄阳市'],
      '陕西省': ['西安市', '咸阳市', '宝鸡市']
    };
    
    const districts = {
      '北京市': ['海淀区', '朝阳区', '西城区', '东城区'],
      '上海市': ['浦东新区', '徐汇区', '静安区', '黄浦区'],
      '广州市': ['天河区', '越秀区', '海珠区', '番禺区'],
      '深圳市': ['南山区', '福田区', '罗湖区', '宝安区'],
      '杭州市': ['余杭区', '西湖区', '上城区', '滨江区'],
      // 其他城市区县...
    };
    
    const addresses = [
      '中关村南大街5号',
      '张江高科技园区',
      '科技园路',
      '未来科技城',
      '珠江新城',
      '天府大道',
      '东湖新技术开发区',
      '科技二路'
    ];
    
    const tags = [
      ['交通便利', '配套齐全'],
      ['环境优美', '政策优惠'],
      ['地铁直达', '餐饮丰富'],
      ['拎包入住', '24小时安保'],
      ['停车方便', '会议室'],
      ['中央空调', '精装修'],
      ['企业孵化', '资金支持'],
      ['人才公寓', '创业指导']
    ];

    for (let i = 0; i < pageSize; i++) {
      const index = (page - 1) * pageSize + i;
      const province = provinces[index % provinces.length];
      const cityList = cities[province];
      const city = cityList[index % cityList.length];
      const districtList = districts[city] || ['区'];
      const district = districtList[index % districtList.length];
      
      mockParks.push({
        id: index + 1,
        name: parkNames[index % parkNames.length] + (index > parkNames.length ? ` ${Math.floor(index / parkNames.length) + 1}期` : ''),
        image: `/images/park${index % 5 + 1}.jpg`,
        address: addresses[index % addresses.length],
        province,
        city,
        district,
        rate: (4 + Math.random()).toFixed(1),
        price: (Math.floor(Math.random() * 30) + 50),
        availableRooms: Math.floor(Math.random() * 50),
        tags: tags[index % tags.length]
      });
    }
    
    return mockParks;
  },

  // 地域选择变化
  bindRegionChange(e) {
    const value = e.detail.value;
    let regionText = '';
    if (value[0]) {
      regionText = value[0];
      if (value[1] && value[1] !== value[0]) {
        regionText += ` · ${value[1]}`;
        if (value[2] && value[2] !== value[1]) {
          regionText += ` · ${value[2]}`;
        }
      }
    }
    
    this.setData({
      region: value,
      regionText: regionText,
      page: 1,
      activeFilter: 'all' // 重置其他筛选
    });
    this.loadParkList();
  },

  // 改变筛选条件
  changeFilter(e) {
    const filter = e.currentTarget.dataset.filter;
    this.setData({
      activeFilter: filter,
      page: 1,
      region: [],
      regionText: '' // 重置地域筛选
    });
    this.loadParkList();
  },

  // 改变排序方式
  changeSort(e) {
    const sortType = e.currentTarget.dataset.type;
    this.setData({
      sortType: sortType,
      page: 1
    });
    this.loadParkList();
  },

  // 搜索输入
  onSearchInput(e) {
    this.setData({
      searchText: e.detail.value,
      page: 1
    });
    // 实际项目中这里应该做防抖处理
    this.loadParkList();
  },

  // 加载更多
  loadMore() {
    if (!this.data.hasMore) return;
    
    this.setData({
      page: this.data.page + 1
    });
    this.loadParkList();
  },

  // 跳转园区详情
  goParkDetail(e) {
    const parkId = e.currentTarget.dataset.id;
    wx.navigateTo({
      url: `/pages/park/parkDetail?id=${parkId}`
    });
  }
});